package cn.tedu.csmall.product.mapper;

import cn.tedu.csmall.product.pojo.entity.Attribute;
import cn.tedu.csmall.product.pojo.vo.AlbumListItemVO;
import cn.tedu.csmall.product.pojo.vo.AttributeListItemVO;
import cn.tedu.csmall.product.pojo.vo.AttributeStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * ClassName: AttributeMapper
 * Package: cn.tedu.csmall.product.mapper
 * Description
 *
 * @Author: 大傻
 * @Create:2022/11/25
 */
@Repository
public interface AttributeMapper {
    /**
     *
     * @param attribute 插入的实体类数据
     * @return 收影响的行数
     */
    int insert(Attribute attribute);

    /**
     *
     * @param attributes 插入实体类数据
     * @return 影响的结果
     */
    int insertBatch(List<Attribute> attributes);

    /**
     *
     * @param id 尝试删除的id
     * @return 删除影响的条数
     */
    int deleteById(Long id);

    /**
     *
     * @param ids 尝试删除多个id
     * @return  结果返回影响的条数
     */
    int deleteByIds(Long[] ids);

    /**
     *
     * @param attribute 封装了被修改的对象的id 和新的属性
     * @return 修改成功的条数
     */
    int update(Attribute attribute);


    /**
     * 统计表数量
     * @return 查询到的结果数
     */
    int count();

    /**
     *
     * @param id 查询的id
     * @return 返回查询到的实体类 没查到为null
     */
    AttributeStandardVO selectById(Long id);

    /**
     *
     * @return 返回查询到的集合
     */
    List<AttributeListItemVO> list();

}
